Assembly Language-এ Logical Operations বিভিন্ন বিট-লেভেল অপারেশন সম্পাদন করতে ব্যবহৃত হয়। এগুলি ডেটা প্রসেসিং এবং কন্ডিশন চেক করার জন্য গুরুত্বপূর্ণ ভূমিকা পালন করে। নিচে AND, OR, XOR, NOT, SHL, এবং SHR Instruction-এর বিস্তারিত ব্যাখ্যা এবং উদাহরণ দেওয়া হলো:
AND Instruction:
- সংজ্ঞা: AND অপারেশন দুটি অপারেন্ডের প্রতিটি বিটে
1থাকলে সেটিকে1সেট করে, অন্যথায়0সেট করে। - ব্যবহার: বিট-মাস্কিং বা নির্দিষ্ট বিট ক্লিয়ার করার জন্য ব্যবহৃত হয়।
উদাহরণ:
MOV AL, 10101010b ; AL = 10101010 AND AL, 00001111b ; AL = 00001010 (নিচের ৪টি বিট রেখে বাকি ক্লিয়ার)
OR Instruction:
- সংজ্ঞা: OR অপারেশন দুটি অপারেন্ডের যেকোনো একটি বিটে
1থাকলে সেটিকে1সেট করে। - ব্যবহার: নির্দিষ্ট বিট সেট করার জন্য ব্যবহৃত হয়।
উদাহরণ:
MOV AL, 10101010b ; AL = 10101010 OR AL, 00001111b ; AL = 10101111 (নিচের ৪টি বিট `1` করা)
XOR Instruction:
- সংজ্ঞা: XOR অপারেশন দুটি অপারেন্ডের বিট ভিন্ন হলে সেটিকে
1এবং একই হলে0সেট করে। - ব্যবহার: বিট টগল করা এবং ডেটা ক্লিয়ার করার জন্য ব্যবহৃত হয়।
উদাহরণ:
MOV AL, 10101010b ; AL = 10101010 XOR AL, 11111111b ; AL = 01010101 (বিট টগল করা)
NOT Instruction:
- সংজ্ঞা: NOT অপারেশন একক অপারেন্ডের প্রতিটি বিট ইনভার্ট করে (০-কে ১ এবং ১-কে ০)।
- ব্যবহার: বিট ইনভার্সন বা বিট কমপ্লিমেন্ট করার জন্য ব্যবহৃত হয়।
উদাহরণ:
MOV AL, 10101010b ; AL = 10101010 NOT AL ; AL = 01010101 (বিট ইনভার্ট করা)
SHL (Shift Left) Instruction:
- সংজ্ঞা: SHL অপারেশন অপারেন্ডের সব বিটকে বাম দিকে নির্দিষ্ট সংখ্যা স্থানান্তরিত করে এবং শূন্য বিট ডান প্রান্তে যুক্ত করে। এটি কার্যত ডেটা গুণ (মাল্টিপ্লাই) করার জন্য ব্যবহৃত হয়।
- ব্যবহার: বিট শিফট করে ডেটা গুণ করা।
উদাহরণ:
MOV AL, 00001111b ; AL = 00001111 SHL AL, 1 ; AL = 00011110 (১ বিট বামে স্থানান্তরিত করা, মান দ্বিগুণ)
SHR (Shift Right) Instruction:
- সংজ্ঞা: SHR অপারেশন অপারেন্ডের সব বিটকে ডান দিকে নির্দিষ্ট সংখ্যা স্থানান্তরিত করে এবং শূন্য বিট বাম প্রান্তে যুক্ত করে। এটি কার্যত ডেটা ভাগ (ডিভাইড) করার জন্য ব্যবহৃত হয়।
- ব্যবহার: বিট শিফট করে ডেটা ভাগ করা।
উদাহরণ:
MOV AL, 00001111b ; AL = 00001111 SHR AL, 1 ; AL = 00000111 (১ বিট ডানে স্থানান্তরিত করা, মান অর্ধেক)
সারসংক্ষেপ
AND, OR, XOR, NOT, SHL, এবং SHR Instruction-এর মাধ্যমে Assembly Language প্রোগ্রামিংয়ে বিট-লেভেল ডেটা প্রসেসিং করা সম্ভব হয়। AND এবং OR নির্দেশনা বিট মাস্কিং ও বিট সেট করার জন্য, XOR বিট টগল করার জন্য, NOT বিট ইনভার্ট করার জন্য, এবং SHL ও SHR ডেটা স্থানান্তর ও গাণিতিক অপারেশনের জন্য ব্যবহৃত হয়। এই নির্দেশনাগুলি কার্যকরভাবে ব্যবহার করা হলে প্রোগ্রামিংয়ে লজিক তৈরি এবং ডেটা প্রক্রিয়াকরণ সহজ হয়।
Read more